package com.hmy.infrastructure.api.bo.response.corpsearch;

import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;


/**
 * 企业信息查询详细信息
 *
 * @author songkf
 * @date 2024年1月2日08:49:33
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class CorpDetailClientResponse extends CorpSearchBaseResponse implements Serializable {

    private static final long serialVersionUID = -155351389929888522L;
    public List<Partner> Partners;
    public List<Employee> Employees;
    public List<Branch> Branches;
    public List<ChangeRecord> ChangeRecords;
    public ContactInfo ContactInfo;
    public Industry Industry;
    public Area Area;
    public String AreaCode;
    public List<EmergingIndustry> EmergingIndustyList;
    public String InsuredCount;
    public String EnglishName;
    public String PersonScope;
    public String IXCode;
    public List<Tag> TagList;
    public List<ARContact> ARContactList;
    public List<String> EconKindCodeList;
    public String KeyNo;
    public String Name;
    public String No;
    public String BelongOrg;
    public String OperId;
    public String OperName;
    public String StartDate;
    public String EndDate;
    public String Status;
    public String Province;
    public String UpdatedDate;
    public String CreditCode;
    public String RegistCapi;
    public String EconKind;
    public String Address;
    public String Scope;
    public String TermStart;
    public String TeamEnd;
    public String CheckDate;
    public String OrgNo;
    public String IsOnStock;
    public String StockNumber;
    public String StockType;
    public List<OriginalName> OriginalName;
    public String ImageUrl;
    public String EntType;
    public String RecCap;

    @Data
    public static class Partner {
        public String KeyNo;
        public String StockName;
        public String StockType;
        public String StockPercent;
        public String ShouldCapi;
        public String ShoudDate;
        public String InvestType;
        public String InvestName;
        public String RealCapi;
        public String CapiDate;
        public List<String> TagsList;
        public String FinalBenefitPercent;
        public RelatedProduct RelatedProduct;
        public RelatedOrg RelatedOrg;
        public String Area;
    }

    @Data
    public static class Employee {
        public String KeyNo;
        public String Name;
        public String Job;
    }

    @Data
    public static class Branch {
    }

    @Data
    public static class ChangeRecord {
        public String ProjectName;
        public String BeforeContent;
        public String AfterContent;
        public String ChangeDate;
    }

    @Data
    public static class ContactInfo {
        public List<WebSite> WebSite;
        public String PhoneNumber;
        public String Email;
    }

    @Data
    public static class WebSite {
        public String Name;
        public String Url;
    }

    @Data
    public static class Industry {
        public String IndustryCode;
        public String Industry;
        public String SubIndustryCode;
        public String SubIndustry;
        public String MiddleCategoryCode;
        public String MiddleCategory;
        public String SmallCategoryCode;
        public String SmallCategory;
    }

    @Data
    public static class Area {
        public String Province;
        public String City;
        public String County;
    }

    @Data
    public static class EmergingIndustry {
        public String PrimaryCode;
        public String PrimaryDes;
        public List<Secondary> SecondaryList;
    }

    @Data
    public static class Secondary {
        public String SecondaryCode;
        public String SecondaryDes;
        public List<Tertiary> TertiaryList;
    }

    @Data
    public static class Tertiary {
        public String TertiaryCode;
        public String TertiaryDes;
    }

    @Data
    public static class RelatedProduct {
        public String Id;
        public String Name;
        public String Round;
        public String FinancingCount;
    }

    @Data
    public static class RelatedOrg {
        public String Id;
        public String Name;
    }

    @Data
    public static class Tag {
        public String Type;
        public String Name;
    }

    @Data
    public static class ARContact {
        public String ContactNo;
        public String EmailAddress;
        public String Address;
    }

    @Data
    public static class OriginalName {
        public String Name;
        public String ChangeDate;
    }

}
